//  管理和用户相关数据
import { defineStore } from "pinia";
import { ref } from "vue";
import { loginAPI } from "../apis/user";
import { useCartStore } from "./cart";
import { mergeCartAPI } from "../apis/cart";
export const useUserStore = defineStore('user',()=>{
    const cartStore = useCartStore()
    // 1. 定义管理用户数据的state
    const  userInfo = ref({})
    // 2. 定义获取接口数据的action函数
    const getUserInfo = async ({account,password})=>{
        const res = await loginAPI({account,password})
        userInfo.value = res.data.result
        // 合并购物车数据
        mergeCartAPI(cartStore.cartList.map(i=>{
            return {
                skuId: i.skuId,
                selected: i.selected,
                count: i.count
            }
        }))
        cartStore.updateNewList()
    }
    // 3. 清除用户信息
    const clearUserInfo = ()=>{
        userInfo.value = {}
        // 清除购物车数据
        cartStore.clearCart()
    }
    return {
        userInfo,
        getUserInfo,
        clearUserInfo
    }
},{
    persist: true,
  })